Abstract
Society is becoming increasingly dependent on safety-critical computer-based systems where the operation or failure of these systems can lead to harm to individuals or the environment. There are many individual technical innovations that can be made to improve the processes of developing and assessing safety-critical systems, but perhaps the biggest need is for a coherent and integrated set of methods; narrow technical innovation is not sufficient. Thus we stress here a broad engineering approach to the development of safety-critical systems, identifying research directions which we believe will lead to the establishment of an effective, and cost-effective, development process.
Introduction
Society is becoming increasingly dependent on automated systems; in many cases the operation or failure of these systems can lead to harm to individuals or the environment. If the behaviour, or failure, of a system can lead to accidents involving loss of life, injury or environmental damage then it is safety-critical. States of the system, classes of system behaviour and failure modes of the system which can potentially lead to accidents are referred to as hazards. Our concern here is with safety-critical systems where the computing and software elements can potentially contribute to hazards.
Technical background
Safety-critical systems are found in a wide range of applications including aircraft flight control, reactor protection systems, fire protection systems on oil and gas platforms, and medical electronic devices. Increasingly these systems contain a substantial programmable element, using either conventional computers, or programmable logic controllers (PLCs).